class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param array int整型vector 
     * @return int整型vector
     */
    vector<int> reOrderArrayTwo(vector<int>& array) {
        if(array.empty()) return array;
        int i = 0, j = array.size()-1;
        while(i < j){
            if( (array[i] & 1) == 0 && (array[j] & 1))
                swap(array[i++], array[j--]);
            if( array[i] & 1)  
                ++i;   // 如果是奇数就向后移动
            if( (array[j] & 1) == 0)
                --j;   // 如果是偶数就向前移动
        }
        return array;
    }
};